
#ifndef __TEST_RSA_KEYS_H
#define __TEST_RSA_KEYS_H

#include "../iface/APRInterface.h"
#include "../crypt/RSAKeyPairGenerator.h"
#include "../crypt/RSAPublicKey.h"
#include "../crypt/RSAPrivateKey.h"
#include "../crypt/RSAEncrypt.h"
#include "../crypt/RSADecrypt.h"
#include "../crypt/RSASigning.h"
#include "../crypt/RSAChecking.h"

namespace tests
{
   void testRSAKeys(apr_pool_t *mp);
   void testRSABlockCryption(RSAPublicKey *pubkey, RSAPrivateKey *prvkey, int iterations, int max_length);
   void testRSAPasswordCryption(RSAPublicKey *pubkey, RSAPrivateKey *prvkey, int iterations);
   void testRSAPipeCryption(RSAPublicKey *pubkey, RSAPrivateKey *prvkey, int iterations, int max_block, int max_length, apr_pool_t *mp);
   void testRSABlockSigning(RSAPublicKey *bpubkey, RSAPrivateKey *bprvkey, RSAPublicKey *pubkey, RSAPrivateKey *prvkey, int iterations, int max_length);
   void testRSAPipeSigning(RSAPublicKey *bpubkey, RSAPrivateKey *bprvkey, RSAPublicKey *pubkey, RSAPrivateKey *prvkey, int iterations, int max_block, int max_length, apr_pool_t *mp);
};

#endif
